//
//  Date+Extension.swift
//  ZHTQWeibo
//
//  Created by ZHTQ on 2018/9/20.
//  Copyright © 2018年 ZHTQ. All rights reserved.
//

import UIKit

extension Date{
    /// 通过时间字符串和 格式化字符串 来创建时间
    static func createdDate(timeStr: String, formatStr: String) -> Date{
        // 获取当前时间
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = formatStr
        dateFormatter.locale = Locale(identifier: "en")
        return dateFormatter.date(from: timeStr)!
    }
    
    /// 通过时间转化 显示 时间字符串 比如： 刚刚 分钟前 小时前
    func descreptionStr() -> String{
        // 创建日历来比较时间
        let calendar = Calendar.current
        let dateFormatter = DateFormatter()
        dateFormatter.locale = Locale(identifier: "en")
        if calendar.isDateInToday(self) { //今天
            let time = Int(self.timeIntervalSinceNow)
            if time < 60 {
                return "刚刚"
            } else if time < 60 * 60 {
                return "\(time / (60 * 60))分钟之前"
            } else if time < 60 * 60 * 24 {
                return "\(time / (60 * 60 * 24))小时之前"
            }
            
        } else if calendar.isDateInYesterday(self){ // 昨天
            dateFormatter.dateFormat = "昨天 HH:mm"
        } else {
            
            let components = calendar.dateComponents([Calendar.Component.year], from: self, to: Date())
            
            if components.year! >= 1 { // 其他年份
                dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
            } else { //今年
                dateFormatter.dateFormat = "MM-dd HH:mm"
            }
        }
        return dateFormatter.string(from: self)
    }
}
